import pandas as pd
from io import StringIO

# 现有以下 2020 年节假日的数据，需要将其插入数据库的 holiday 表里，holiday 除了以下三列，还有一个年份字段 year。

text = '''
节日 开始日期 结束日期
元旦 2020-01-01 2020-01-01
除夕 2020-01-24 2020-01-24
清明节 2020-04-04 2020-04-04
劳动节 2020-05-01 2020-05-01
端午节 2020-06-25 2020-06-25
国庆节 2020-10-01 2020-10-01
'''

df = pd.read_csv(StringIO(text), sep=" ", parse_dates=["开始日期", "结束日期"])  # 参数 parse_dates=["开始日期", "结束日期"] 可以将字符串处理为时间类型
print(df)
# df.info()

# 然后对 DataFrame 进行迭代，生成 insert SQL 语句：
sql = ""
for i, r in df.iterrows():
    if sql == "":
        r_sql = f"INSERT INTO holiday (holiday, year, start_date, end_date) VALUES \n ('{r['节日']}', '{r['结束日期'].year}', '{r['开始日期']}', '{r['结束日期']}'),"
    else:
        r_sql = f"('{r['节日']}', '{r['结束日期'].year}', '{r['开始日期']}', '{r['结束日期']}'),"
    sql += r_sql + '\n'

sql = sql[:-2] + ";"
# 生成后，可以复制这些 SQL 语句，执行。
print(sql)